# lambda 表达式是 Python 中用于创建匿名函数的一种简洁方式。
# 匿名函数是指那些没有使用 def 语句定义、也没有名字的函数。
# lambda 表达式非常适合用来创建简单的、一次性的函数，尤其是在需要传递函数作为参数的情况下，比如在高阶函数（如 map()、filter() 和 sorted()）中。

# lambda 表达式的语法： lambda 参数1, 参数2, ... : 表达式

# 创建一个 lambda 函数来计算两个数的和
add = lambda x, y: x + y
print(add(5, 3))  # 输出: 8

# map() 函数将一个函数应用到一个可迭代对象的每一个元素上，并返回一个新的迭代器。
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)  # 输出: [1, 4, 9, 16]

# filter() 函数根据提供的函数过滤掉不符合条件的元素，返回一个新的迭代器。
numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)  # 输出: [2, 4, 6]

# sorted() 函数可以接受一个 key 参数，该参数指定了排序时使用的函数。
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
sorted_pairs = sorted(pairs, key=lambda pair: pair[1])
print(sorted_pairs)  # 输出: [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]